package b;

import org.junit.Test;
import 其他.DataStructure.ListNode;

public class _6二进制化 {

    @Test
    public void test() {
        ListNode l1 = new ListNode(1);
        ListNode l2 = new ListNode(2);
        ListNode l3 = new ListNode(3);
        ListNode l4 = new ListNode(3);
        ListNode l5 = new ListNode(4);
        ListNode l6 = new ListNode(4);
        ListNode l7 = new ListNode(5);
        l1.next=l2;l2.next=l3;l3.next=l4;l4.next=l5;
        l5.next=l6;l6.next=l7;

        quchong(l1);

        while(l1!=null) {
            System.out.print(l1.val + " ");
            l1=l1.next;
        }
    }
    void quchong(ListNode head){
        ListNode dm = new ListNode(-1);
        ListNode dmt=dm;
        dm.next=head;
        //
        ListNode l=head,r=head;
        int sum=0;
        while(r!=null){
            ListNode old = r; sum++;
            r=r.next;
            //
            if(r!=null && old.val!=r.val){
                if(sum==1){
                    dm=dm.next;
                }
                else if(sum>=2){
                    dm.next=r;
                }
                //还原全局变量
                sum=0;
            }
        }
    }
}
